// pages/pay/pay.js
import {requestUtil,getLogin,getUserProfile} from "../../utils/requestUtil.js";
Page({

  /**
   * 页面的初始数据
   */
  data: {
  petInfo:{

  }
  },

  /**
   * 获取宠物详情6、
   */
  getPetDetails(id) {
    wx.request({
      url: 'http://localhost:8080/pet/detail',
      data: { id },
      method: 'GET',
      success: (response) => {
        console.log('Full Response:', response);

        // Check if the response has the expected properties
        if (response && response.statusCode === 200) {
          console.log('Response Data:', response.data);

          // Extract the pet details from the response and set it in data
          this.setData({
            petInfo: response.data.message || {}, // Use an empty object if message is undefined
          });
        } else {
          console.error('Unexpected response structure:', response);
        }
      },
      fail: (error) => {
        console.error('Error fetching pet details:', error);
      },
    });
  },
  
  /**
   * 点击支付
   */
  async handleOrderPay(){
    // 判断缓存中是否有token
    const token=wx.getStorageSync('token');
    if(!token){
      // const {code}=await login();
      // wx.getUserProfile({
      //   desc: '获取用户信息',
      //   success: (res)=>{
      //     const {encryptedData,rawData,iv,signature}=res;
          
      //     console.log(code,encryptedData,rawData,iv,signature)
      //   },
      //   fail:()=>{
      //     console.log("登录失败")
      //   }
      // })

      Promise.all([getLogin(),getUserProfile()]).then((res)=>{
        console.log(res)
        let loginParam={
          code:res[0].code,
          nickName:res[1].userInfo.nickName,
          avatarUrl:res[1].userInfo.avatarUrl
        }
        console.log(loginParam);
        // 把用户信息放到缓存中
        // wx.setStorageSync('userInfo', res[1].userInfo);
        this.wxlogin(loginParam);
      })
    }else{
      console.log("token:"+token);
      // 走支付 创建订单
      this.createOrder(token);
    }
   
  },

  /**
   * 请求后端获取用户token
   * @param {} loginParam 
   */
  async wxlogin(loginParam){
    // 发送请求 获取用户的token
    const result=await requestUtil({url:"/users/wxlogin",data:loginParam,method:"post"});
    let token=result.token;
    if(result.code==0){
      // 存储token到缓存
      wx.setStorageSync('token', token);
      // 支付继续走 创建订单
      this.createOrder(token);
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
  console.log(options.id)
  this.getPetDetails(options.id)
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})